<html>

<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="TingGe Blog Agile agile JavaScript NodeJS">
  <meta name="author" content="TingGe<505253293@163.com>">
  <title>听歌实验室</title>
  <link type="image/x-icon" rel="shortcut icon" href="https://avatars3.githubusercontent.com/u/4074517?v=3&s=40" />
  <link rel="stylesheet" type="text/css" href="/lib/bootstrap/dist/css/bootstrap.min.css" media="screen">
  <link href="https://fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
  <link href="/css/landing-page.css" rel="stylesheet">
  <link href="/css/screenshots.css" rel="stylesheet">
  <style media="screen">
    #main {
      padding-top: 55px;
    }
  </style>
  <script type="text/javascript" src="/lib/jquery/dist/jquery.min.js"></script>
  <script type="text/javascript" src="/lib/html2canvas/dist/html2canvas.min.js"></script>
  <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
  <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
        <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
</head>

<body>
  <!-- Navigation -->
  <nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
    <div class="container topnav">
      <!-- Brand and toggle get grouped for better mobile display -->
      <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand topnav" href="/">
          <i class="fa fa-flask icon-3x" aria-hidden="true"></i> 听歌实验室
        </a>
      </div>
      <!-- Collect the nav links, forms, and other content for toggling -->
      <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
        <ul class="nav navbar-nav navbar-right">
          <li>
            <a href="/html/js.html">JavaScript/NodeJS</a>
          </li>
          <li>
            <a href="/index.html#agile">敏捷/项目管理(Agile/PMP)</a>
          </li>
          <li>
            <a href="/html/cloud-bi.html">云商业智能(Cloud BI)</a>
          </li>
          <li>
            <a href="/html/iot.html">物联网(WoT/IoT)</a>
          </li>
          <li>
            <a href="/html/me.html">关于我</a>
          </li>
        </ul>
      </div>
      <!-- /.navbar-collapse -->
    </div>
    <!-- /.container -->
  </nav>
  <div id="main" class="container">
    <div class="row">
      <div id="article" class="col-md-9 content-container">
        <h1 id="web-of-things-wot-">Web of Things (WoT)</h1>
<blockquote>
<p>IoT 意味着所有设备能够相互连结，进而形成物联网。而设备沟通能够通过各种方式如 Bluetooth, ZigBee 和 WIFI 等等。IoT 的最后阶段 WoT 则是将这些沟通方式最后都通过统一 Web 标准的方式来达成。这也是以往所有新技术最终能得到蓬勃发展的重要因素之一：统一的标准和规范。——摘自《 IoT 第四階段 : Web of Things (WoT) 》</p>
</blockquote>
<p>三维连接的交接面：</p>
<p><img src="../img/GGG.png" alt=""></p>
<h2 id="-">现状</h2>
<h3 id="google-physical-web">Google 的 <a href="https://github.com/google/physical-web">Physical Web</a></h3>
<h3 id="apple-ibeacon">Apple 的 <a href="https://developer.apple.com/ibeacon/">iBeacon</a></h3>
<h3 id="-node-js-">类 Node.js 方案</h3>
<table>
<thead>
<tr>
<th>物联网 JS 框架</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://ruff.io/">Ruff</a></td>
<td>基于 <a href="http://duktape.org/">Duktape</a></td>
</tr>
<tr>
<td><a href="https://github.com/Samsung/iotjs">IoT.js</a> 和 <a href="https://github.com/Samsung/jerryscript">JerryScript</a></td>
<td>IoT.js 平台使用 JerryScript 引擎来运行 JavaScript 代码，使用 <a href="https://github.com/Samsung/libuv">libuv</a> 库来实现异步I/O。</td>
</tr>
<tr>
<td><a href="https://github.com/cesanta/mongoose-iot">Mongoose IoT Platform</a></td>
</tr>
</tbody>
</table>
<h3 id="node-js-">Node.js 方案</h3>
<table>
<thead>
<tr>
<th>物联网 JS 框架</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://wotcity.com/zh-tw">WoT.City</a></td>
<td>开源 WoT 框架</td>
</tr>
<tr>
<td><a href="http://cylonjs.com/">Cylon.js</a></td>
<td>智能机器人和 IOT 的 JavaScript 开发框架，号称支持不下35种平台，使得开发人员可以使用同样的API来操纵不同的设备，包括 Leap Motion，Pebble 手表，Arduinos 和 Raspberry Pi 等。</td>
</tr>
<tr>
<td><a href="http://www.noduino.org/">noduino</a></td>
<td>一个简单、灵活的基于 JavaScript 和 Node.js 的框架，能实现通过HTML5、Socket.IO 和 Node.js 等 Web 应用实现对 Arduino 板的控制</td>
</tr>
</tbody>
</table>
<h4 id="wot-devices-">WoT Devices 层</h4>
<table>
<thead>
<tr>
<th>JS 框架</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/substack/shoe">shoe</a></td>
<td>实现 websocket</td>
</tr>
<tr>
<td><a href="https://github.com/substack/dnode">dnode</a></td>
<td>实现 RPC</td>
</tr>
<tr>
<td><a href="https://github.com/mcollina/mosca">Mosca</a>、<a href="https://github.com/mqttjs/MQTT.js">MQTT.js</a></td>
<td>MQTT</td>
</tr>
</tbody>
</table>
<h3 id="-">其它开源方案</h3>
<table>
<thead>
<tr>
<th></th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="http://streembit.github.io/">Streembit</a></td>
<td>分散式、对等网络，人类和机器的安全通信系统</td>
</tr>
</tbody>
</table>
<h2 id="-">技术栈架构</h2>
<p><img src="../img/wot-arch-stack.jpg" alt=""></p>
<h2 id="-">组成</h2>
<p>最简版 WoT 涉及 6 类设备、5类接口。</p>
<h3 id="6-">6 类设备：</h3>
<ol>
<li>UA</li>
<li>WoT Server</li>
<li>Service Resources</li>
<li>WoT Device</li>
<li>Sensors</li>
<li>Event Trigger</li>
</ol>
<h3 id="5-">5 类接口：</h3>
<p><img src="../img/wot-devices-apis.png" alt="">G</p>
<ol>
<li>UA－WoT Server：HTTPS, RESTful，JSON；数据采集与上报、远程控制操作、多应用数据采集与传出、管理多个WoT Devices。用到的协议如 WebRTC、SSE 和 Web notification</li>
<li>WoT Server－Service Resources：与外置服务集成，数据交换、同步状态和信息。外置服务如服务器、云、开放 API 和 Web 资源</li>
<li>WoT Server－Sensors／硬件：内置／外置连结。如 I2C、SPI、UART、蓝牙 等</li>
<li>WoT Server－WoT Device：多 WoT Device 识别、协作。如 HTTP、Web Socket 和 CoAP 等</li>
<li>Event Trigger－WoT Server：向 WoT Server 推送消息。如 MQTT 等基于订阅的协议</li>
</ol>
<h3 id="-">安全要求</h3>
<ol>
<li>WoT Device / WoT Server 授权</li>
<li>WoT Service / WoT 应用认证</li>
<li>WoT应用支持数据交互保密性</li>
<li>WoT 终端 应可以验证数据完整性</li>
<li>防止网络连接滥用</li>
<li>WoT 系统应能保护隐私</li>
</ol>
<h2 id="-">参考</h2>
<ol>
<li><a href="http://www.educity.cn/wulianwang/433792.html"> WoT简介</a></li>
<li><a href="https://www.w3.org/WoT/IG/wiki/Web_of_Things_Sales_Sheet">Web of Things Sales Sheet</a></li>
<li><a href="https://www.w3.org/WoT/IG/">W3C WEB OF THINGS INTEREST GROUP</a></li>
<li><a href="https://w3c.github.io/wot/current-practices/wot-practices.html">WoT Current Practices</a></li>
<li><a href="http://hollobit.github.io/swot-model/">Simple Web of Things (SWoT) Architecture Model</a></li>
<li><a href="http://model.webofthings.io/">Web Thing Model</a></li>
<li><a href="http://iotforum.advantech.com/discussion/104/iot%E7%AC%AC%E5%9B%9B%E9%9A%8E%E6%AE%B5-web-of-things-wot">IoT第四階段 : Web of Things (WoT)</a></li>
<li><a href="https://w3c.github.io/wot/architecture/wot-architecture.html">Web of Things (WoT) Architecture</a></li>
<li><a href="http://blog.csdn.net/wallance82/article/details/43971831">基于Web服务的物联网-WoT(Web of Things)</a></li>
<li><a href="https://www.oreilly.com/ideas/building-iot-systems-with-web-standards">Building IoT systems with Web standards</a></li>
<li><a href="https://wotcity.com/zh-tw">WoT.City</a></li>
<li><a href="http://www.slideshare.net/jollen/iot-and-maker-corssover-imco-conference-taipei-taiwan">IoT and Maker Crossover (IMCO) Conference 2015</a></li>
<li><a href="http://slideplayer.com/slide/9366734/">WoT Outreach: joint slide set Outreach slide set aims to increase the awareness of W3C’s WoT work</a></li>
<li><a href="http://webofthings.org/wot-book-links/">WOT BOOK LINKS</a></li>
<li><a href="https://evrythng.com/building-web-things/">Building the web of things</a></li>
<li><a href="https://dzone.com/articles/the-limitations-of-the-iot-and-how-the-web-of-thin">The Limitations of the IoT and How the Web of Things Can Help</a></li>
<li><a href="http://blog.yuansc.com/2015/01/09/MQTT-Nodejs%E5%AE%9E%E7%8E%B0-Mosca%E7%AE%80%E4%BB%8B/">MQTT-Node.js实现-Mosca简介</a></li>
<li><a href="https://wotcity.com/blog/2016/02/23/connect-iot-device-to-local-host/">A new way to write IoT application server code</a></li>
<li><a href="http://www.slideshare.net/hollobit/wotjs">WoT.js - WoT App. Framework for Open Source Hardware</a></li>
<li><a href="http://www.cs.wustl.edu/~jain/cse570-15/ftp/iot_prot/index.html">Internet of Things Protocols and Standards</a></li>
<li><a href="../html/iot.html">WoT 与 IoT</a></li>
<li><a href="../html/int-iot.html">互联网与物联网</a></li>
<li><a href="adas.html">关于高级辅助驾驶系统 ADAS</a></li>
</ol>

      </div>
      <div class="col-md-3" style="padding-top:20px;">
        <iframe src="http://githubbadge.appspot.com/tingge?a=0" style="border: 0;height: 142px;width: 200px;overflow: hidden;" frameBorder="0"></iframe>
      </div>
    </div>
  </div>
  <a id="html2canvas" title="截图下载-快照">&nbsp;</a>
  <script src="/lib/bootstrap/dist/js/bootstrap.min.js"></script>
  <script src="/js/article.js" charset="utf-8"></script>
  <!-- justice.js https://github.com/okor/justice  -->
  <script src="/lib/justice.min.js" charset="utf-8"></script>
  <!-- instantclick -->
  <script src="/lib/instantclick.js" charset="utf-8"></script>
  <script type="text/javascript" data-no-instant>
    Justice.init();
  </script>
</body>

</html>
